package com.groupfour.attendancemanagementsystem.dao;
/**
 * @version: V1.0
 * @author: 章珑赢
 * @className: PersonaRatingDao
 * @packageName: dao
 * @description: 个人评分处理层
 * @data: 2022/4/23
 */
import com.groupfour.attendancemanagementsystem.entity.DTO.GroupDetailDTO;
import com.groupfour.attendancemanagementsystem.entity.DTO.PersonalDetailDTO;
import com.groupfour.attendancemanagementsystem.entity.VO.HomeWorkDetailsVO;
import com.groupfour.attendancemanagementsystem.entity.VO.PersonaRatingVO;
import com.groupfour.attendancemanagementsystem.entity.VO.PersonalDetailVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface PersonaRatingDao {
    /**
     * @version: V1.0
     * @author: 章珑赢
     * @methodsName: SelectAllPersonaRating
     * @description: 查询所有个人评分
     * @param:  无
     * @return: PersonaRatingVO集合
     * @throws: 无
     **/
    List<PersonaRatingVO> SelectAllPersonaRating(@Param("userCode") String userCode);
    /**
     * @version: V1.0
     * @author: 章珑赢
     * @methodsName: SelectByProjectNameOrGroupName
     * @description: 根据项目名称或小组名称查询所有小组评分
     * @param:  projectName(项目名称)，groupName(小组评分)
     * @return: PersonaRatingVO集合
     * @throws: 无
     **/

    List<PersonaRatingVO> SelectByProjectNameOrGroupName(@Param("projectName") String projectName,
                                                         @Param("groupName") String groupName,@Param("userCode")String userCode);

    /**
     * @version: V1.0
     * @author: 章珑赢
     * @methodsName: SelectPersonalDetails
     * @description: 查询个人详情信息
     * @param:studentCode（学生学号）
     * @return: PersonalDetailVO实体类
     * @throws: 无
     **/
    PersonalDetailVO SelectPersonalDetails( @Param("studentCode") String studentCode,@Param("groupCode")String groupCode);
    //实训老师
    List<PersonalDetailDTO> SelectGroupTrainTeacher(@Param("groupCode") String groupCode,
                                                    @Param("studentCode")String studentCode);
    /**
     * @version: V1.0
     * @author: 章珑赢
     * @methodsName: SelectPersonalDetails
     * @description: 查询个人详情信息中的作业列表
     * @param:studentCode（学生学号）
     * @return: HomeWorkDetailsVO实体类集合
     * @throws: 无
     **/
    List<HomeWorkDetailsVO> SelectHomeWorks(@Param("studentCode") String studentCode,@Param("groupCode")String groupCode);

    /**
     * @version: V1.0
     * @author: 章珑赢
     * @methodsName: DoPersonalGradeAndComment
     * @description: 进行小组打分和评论
     * @param:  studentCode（学生学号），oneselfSyntnesisScore（个人综合分数），oneselfComment（个人评论）
     * @return: boolean
     * @throws: 无
     **/
    boolean DoPersonalGradeAndComment(@Param("oneselfSyntnesisScore") Integer oneselfSyntnesisScore,@Param("oneselfComment") String oneselfComment, @Param("studentCode") String studentCode);
}
